﻿/*********************************************************************************
 * Copyright(c)  	2012 @kaleyroy
 * 创建日期：		2012-01-13 0:39:28
 * 文 件 名：		ILevelService.cs 
 * CLR 版本: 		4.0.30319.239 
 * 创 建 者：		@kaleyroy 
 * 电子邮箱:		kaleyroy@gmail.com
**********************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Collections;

using USS.Domain;
using USS.Service.DataObject;
using USS.Service.ValueObject;

/// <summary>
/// 
/// 修改记录:
///	
/// </summary>
namespace USS.Service
{
    /// <summary>
    /// 级别服务接口
    /// </summary>
    public interface ILevelService
    {
        /// <summary>
        /// 新建级别信息
        /// </summary>
        /// <param name="levelData">级别数据对象</param>
        /// <returns>级别编号</returns>
        int New(LevelData levelData);

        /// <summary>
        /// 编辑级别信息
        /// </summary>
        /// <param name="levelData">级别数据对象</param>
        void Edit(LevelData levelData);

        /// <summary>
        /// 启用/禁用级别信息
        /// </summary>
        /// <param name="levelID">级别编号</param>
        /// <param name="flag">启用/禁用标识</param>
        void Enable(int levelID,int flag);

        /// <summary>
        /// 删除级别
        /// </summary>
        /// <param name="levelID">级别标识</param>
        void Delete(int levelID);

        /// <summary>
        /// 所有级别信息列表
        /// </summary>
        /// <param name="name">级别名称</param>
        /// <param name="page">当前页码</param>
        /// <param name="rows">页面大小</param>
        /// <param name="total">总记录数</param>
        /// <returns>级别列表集合</returns>
        List<Level> AllLevels(string name,int page,int rows,out int total);

        /// <summary>
        /// 有效级别信息列表
        /// </summary>
        /// <returns>级别列表集合</returns>
        List<Level> EnabledLevels();
    }
}
